Repository navigation
feat(model): add Atlas Cloud provider - #66
Open
binyangzhu000-sudo wants to merge 1 commit into
Open
binyangzhu000-sudo wants to merge 1 commit into
binyangzhu000-sudo wants to merge 1 commit into
Conversation
ling-qian
pushed a commit
to ling-qian/aigcpanel
that referenced
this pull request
Oct 5, 2026
把 TalkFlowCreate.vue 模板里的 02「AI 文案重构」整块搬到新子组件 TalkFlowRewritePanel.vue。
**纯重构**:行为 / 文案 / 样式一字未改,只把绑定改成显式接口。
边界(实测,口径 = data-step 开标签 → 匹配闭标签):
· 批次 3 交付时文件 3,027 行;02 段 = 1648–1981(334 行),内容体 1649–1980 = 332 行
· 内容最小缩进 16 → 左移 12,子组件基准 4
· 结果:父组件 3,027 → 2,719 行(−308);git diff 仅 2 个 hunk,+24 / −332
(import 1 行 / 块替换 332 → 24 行用法块)
接口(沿用批次 1/2/3 约定:可写走 defineModel、只读走 props、动作走 emits;子组件不再调 composable):
· defineModel 5:useEmotionTags / useFillWords / showVersionCompare(boolean)·
selectedFillWord(string)· customPauseSeconds(**string**,真源 ref("1.0"),别顺手改类型)
· props 8:criticResult(any) / criticizing / fillWordList / genningVersions / rewriting /
script / versions / versionStyles
· emits 7:criticScript / rewriteScript / stopGeneration / insertFillWord /
insertCustomPause / genVersions / useVersion(**带参 i: number**)
· 与批次 3 的差别:**无模板 ref、无局部子组件** ⇒ 不需要 ref 载体
★ 跨批耦合点(已写进组件头注释):insertFillWord / insertCustomPause 的实现要读 **01 块的**
<textarea> 模板 ref(scriptTextareaRef)。批次 3 用 sharedTemplateRefs 载体把那份 ref 保住;
本批把「按钮」搬到了 02 子组件,但 ref 仍归 01 块 ⇒ 父组件侧载体一字不动,
链路(按钮 → emit → 父组件函数 → 01 块 ref)完整。
搬运手法(写盘前 11 组断言,任一不符即抛错且**不写盘**):
边界 7 条逐字节 / 332 行 / 最小缩进 16 / 事件清单【逐项相等】9 处 / v-model 清单【逐项相等】4 处 /
模板 ref 恰 0 / 无多行事件属性 / ★**自由变量全集相等** 20 个 / 8 组改写命中数符合预期 /
改写后复核(裸动作 0 · emit( 恰 8)/ 去缩进恰 4 / import 锚点唯一。
⚠️ 第 ⑦ 组断言当场抓到我脚本里 2 个**静默 bug**(都「不报错、只是少算一批」):
① 惰性量词 /v-for\s*=\s*"([^"]*?)"/g ⇒ m[0] 只匹配到 v-for=""、值恒空 ⇒ 别名全丢,
i / iss / v 被误判成自由变量(20 → 污染的 23);
② \(? 没配 \)? ⇒ v-for="(iss, i) in x" 的别名恒取不到(i 紧贴 ),\s+ 匹配不上)。
⇒ 提取类正则用**贪婪 + 捕获组**并取 m[1];别名正则用 ([^)]*?) 并配 \)?。已固化 §G9 modstart-lib#66。
门禁耦合(先量化再动):21 个脚本读该 .vue;超集口径扫 **5,080 条字面量**(= 对照组);
候选 1 脚本 / 2 条(e2e-v1.mjs 的 "评审脚本" / "评审发现")→ 逐条分类**均为运行时 DOM**
(b.innerText.includes / document.body.innerText.includes)⇒ **0 条静态破点**。
⇒ 本批搬运**未改任何探针**;也因此**未做反向验证**(没有静态断言可变异)—— 不假装做过。
(相邻的上一个提交 a2a6bcb 硬化了 p0-2chain 的 M-5 断言,与搬运无关,是为消除取证run里
出现过的时序假红;见报告 §4③。)
验收:
· npm run typecheck:5m51s、输出仅 npm 横幅、**零 vue-tsc 诊断**
· 保真度:未格式化逐字符 **11385 == 11385(零归一化)** → L0 剥 style 末尾 ;(prettier 已剥 8 处)
→ L1(**建在 L0 之上**)全空白删除 **5080 == 5080** → L2 **5080 == 5080**。
残余盲区 = 仅引号内空白差异(故只证「结构与内容未改」,字面量仍归各探针断言)。
⚠️ 归一化阶段必须**累积**(nows(strip(s))):第一版写成并列 ⇒ L1 报 5092 != 5090,
看着像「prettier 动了非空白字符」,实际只差那 2 个分号。已固化 §G9 modstart-lib#67。
· 静态探针(10 个,计数与批次 3 **完全一致**):r10-depth 41 · w2-guards 27 · p0-guards 65 ·
r5-g 51 · r6-jkl 42 · r7 25 · nonet-b-disk 46 · r8-funnel 22 · r17-dead-ui 29 ·
r12-payload-parity 27(FAIL 全 0)
· 冒烟:yuge-parity 24/24(含 YG-06「插入停顿」控件)⇒ 新子组件在真机渲染出 02 块控件
· 全量电池(default 档 · 55 段):**BATTERY-GREEN** —— 54/54 段 exit=0 · 1395 PASS / 0 FAIL ·
pageErrors=0(与批次 3 基线 1395 PASS 逐位一致)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds Atlas Cloud as a first-class OpenAI-compatible model provider. The preset uses
https://api.atlascloud.ai/v1/, which resolves through the existing runtime to/v1/chat/completions, and includes three currently available text models:deepseek-ai/deepseek-v4-prodeepseek-ai/deepseek-v4-flashqwen/qwen3.5-flashThe integration reuses the existing OpenAI-compatible driver and provider artwork; no README, documentation, logo, sponsor, credits, or partner content was added.
Verification
npm install --package-lock=false --ignore-scriptsnpx prettier --check src/module/Model/providers.ts src/module/Model/models.tsnpx vite buildhttps://api.atlascloud.ai/v1/->https://api.atlascloud.ai/v1/chat/completions/v1/models: 121 models; all three presets confirmedgit diff --checknpx vue-tsc --noEmitis currently blocked by the repository project reference requiring an unbuiltsrc/config.d.ts. Building that reference also reports pre-existing project-wide type/dependency errors in unrelated Electron and dependency files.Purpose